1. Field of the Invention
This invention is related to the field of administering and maintaining computer systems on a network or sometimes connected to a network.
2. Description of the Related Art
An important figure for computer systems is the total cost of ownership (TCO). The TCO includes the costs in acquiring the computer system and related software, and also includes a variety of ongoing costs for maintaining the computer system in working order. Exemplary TCO costs may include costs for: installing the operating system (OS) and the applications needed by the user of the computer system; configuring the applications to meet the user's needs; updating and upgrading the OS and applications as service packs or upgrades are released; virus scanning and virus removal; backing up user data and software configuration data; and problem solving (both hardware and software). Problems may be caused by actions of the user, the software, or the computer system hardware. In most organizations, one or more administrators has the task of acquiring, installing, and maintaining the computer systems used by the organization.
While installing the OS and application software may be performed on the computer system prior to delivering the computer system to the user, other maintenance activities typically must be performed with the computer system at the user's location. In some cases, remote access may be used by the administrator to access the user's computer system remotely, so that the administrator need not physically travel to the user's location to operate on the computer system. However, some problems cannot be diagnosed remotely, particularly if the problem with the user's computer system is preventing the computer system from operating well enough to communicate on a network. When remote access is not possible, the administrator either travels to the user's location or temporarily moves the user's computer system to the administrator's location to correct the problem. Costs associated with the traveling of the administrator and/or relocating the computer system may further increase TCO, particularly for larger organizations or geographically dispersed organizations.
One solution that has been used in the past is the “terminal server” solution. In this solution, the user's computer system is merely a “thin client” that includes software to connect to a central terminal server and to display an interface for the user. The user's applications are executed on the central terminal server, which is shared among many users. The central terminal server must be a relatively high powered (and thus expensive) computer system, to provide acceptable processing power when all of the users are connected. Additionally, the central terminal server requires a fairly large amount of storage for user data. The terminal server solution centralizes most of the function in the organization, presumably near the administrators. However, the processing power of the user's computer system is frequently wasted, since the local processor in each computer system is only used for display and communication with the central terminal server. Additionally, each terminal server can handle a maximum user load, and thus multiple terminal servers may be required. Furthermore, the terminal server solution is highly exposed to failures of the central terminal servers: when a given central terminal server fails, each user connected to the central terminal server experiences the failure, and is down until the central terminal server can be brought back up.
In some cases, a network filesystem such as the Network Filesystem (NFS) is used and all applications on the user's computer system are configured to store configuration files and user data on networked storage. While centralization of user data is provided this way (permitting, e.g., centralized backup of user data), many operating system configuration files cannot be stored in this fashion. For example, the Microsoft Windows™ operating system's registry is stored locally on the user's computer system. Accordingly, maintenance of the user's computer system still often involves accessing the user's computer system or relocation of the computer system. Furthermore, users may choose to store some data locally on their computer systems, and such data is not backed up.
Portable computers, such as laptops, present additional challenges. Portable computers are often used away from the user's location, and thus the terminal server solution is not appropriate for the portable computer. Additionally, since the user physically carries the portable computer from location to location, the portable computer may be subject to physical loss or damage in addition to the typical problems experienced by fixed-location computer systems. While most data files may be backed-up from a portable computer system (either by the user or automatically, when it is connected to a network), many application configuration “tweaks” and other modifications may not be backed-up and thus may be lost when the portable computer system is lost or damaged.